package com.augurit.gzcgwsp.wfex.bi.service;

import java.util.List;

import org.springside.modules.orm.Page;

import com.augurit.common.base.service.ICrudService;
import com.augurit.common.system.web.auth.form.LoginUserForm;
import com.augurit.gzcgwsp.wfex.bi.web.form.WfTemplateAttachmentRefFormEX;
import com.augurit.gzcgwsp.ywcmn.web.form.YwComPrintForm;
import com.augurit.wf.bi.service.IWfTemplateAttachmentRefService;
import com.augurit.wf.bi.web.form.WfTemplateAttachmentRefForm;

public interface IWfTemplateAttachmentRefServiceEX extends ICrudService<WfTemplateAttachmentRefFormEX, Long>{
	public IWfTemplateAttachmentRefService getWfTemplateAttachmentRefService();
	
	public String getPrintTemplatePath(Long id);
	
	public Page<WfTemplateAttachmentRefForm> searchPrintTemplate(Page<WfTemplateAttachmentRefForm> page, YwComPrintForm printForm);
	
	/**
	 * 分页查询受理通知书打印记录
	 * @param page
	 * @prama  page
	 * @prama  printForm
	 * @return 
	 */
	public Page<WfTemplateAttachmentRefForm> searchAcceptPrintTemplate(Page<WfTemplateAttachmentRefForm> page, YwComPrintForm printForm);
    
	/**
	 * 分页查询延期办理通知书打印记录
	 * @param page
	 * @prama  page
	 * @prama  printForm
	 * @return 
	 */
    public Page<WfTemplateAttachmentRefForm> searchYqPrintTemplate(Page<WfTemplateAttachmentRefForm> page, YwComPrintForm printForm);
	
	/**
     * 获取打印模板
     * @param templateCode
     * @return
     */
	public String getPrintTemplatePath(String templateCode, String fileType);
	
	/**
	 * 显示模板下的所有红头文件
	 * @param templateCode 业务流程模板code
	 * @return
	 */
	public List<WfTemplateAttachmentRefForm> listAllRedHeadFiles(String templateCode);
	/**
	 * 显示模板下的所有正文文件
	 * @param templateCode
	 * @return
	 */
	public List<WfTemplateAttachmentRefForm> listAllZhengWenFiles(String templateCode);
	public List<WfTemplateAttachmentRefForm> listAllZhengWenFilesByPriv(String templateCode,String activityName,Integer version);
	
	public Page<WfTemplateAttachmentRefForm> searchAvailablePrintTemplate(Page<WfTemplateAttachmentRefForm> page, YwComPrintForm printForm,String activityName);

	//**    zhuhx add    *//
	/**
     * 根据业务流程模板编号和业务表单打印编号获取打印模板存放的相对路径
     * @param templateCode 业务流程模板code
     * @param busFormPrintCode 业务表单打印编号
     * @return
     */
    public String getPrintTemplateRelativePath(String templateCode, String busFormPrintCode);

    /**
     * 根据业务编码查询模版文件
     * @param fileCode
     * @return
     */
	public WfTemplateAttachmentRefFormEX getFormByCode(String fileCode,Long tempId);

	/**
	 * 红头
	 * @param templateCode
	 * @return
	 */
	public WfTemplateAttachmentRefFormEX getRedFile(Long tempId);

	/**
	 * 获取区的红头
	 * @param form
	 * @return
	 */
	public List<WfTemplateAttachmentRefForm> getQuRedHeadFiles(
			WfTemplateAttachmentRefFormEX form,LoginUserForm userForm);
	
    //**    zhuhx end    *//
}
